#ifndef _GPS_H_
#define _GPS_H_

#include "platform.h"
#include "device.h"

// 假设存在一个位置结构体
typedef struct {
    double latitude;  // 纬度
    double longitude; // 经度
    uint8 satellites; // 当前使用的卫星数量
} GPS_Location;

typedef enum {
    GPS_DISABLED,
    GPS_ENABLED,
    GPS_SEARCHING
} GPS_Status;

// GPS模块的数据结构，包含函数指针
typedef struct {
    void (*Init)(void);
    GPS_Status (*Get_Status)(void);
    GPS_Location (*Get_Location)(void);
    void (*Start)(void);
    void (*Stop)(void);
} GPSModule;

// 声明GPSModule的实例
extern GPSModule gps;

#endif /* _GPS_H_ */